package com.xhsj.user.hr.process.hrInterviewRegistration.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xhsj.user.hr.process.dto.hrInterviewRegistration.ShowInterviewRegistrationDto;
import com.xhsj.user.hr.process.hrInterviewRegistration.query.ShowInterviewRegistrationQuery;
import com.xhsj.user.hr.system.vo.MonthCountVo;
import org.apache.ibatis.annotations.Mapper;
import com.xhsj.user.hr.process.hrInterviewRegistration.entity.TbHrInterviewRegistration;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * hr面试记录登记表 Mapper 接口
 * </p>
 *
 * @author liuqinghua
 * @since 2020-09-04
 */
@Mapper
public interface TbHrInterviewRegistrationMapper extends BaseMapper<TbHrInterviewRegistration> {

    @Override
    IPage<Map<String, Object>> selectMapsPage(IPage<TbHrInterviewRegistration> page, Wrapper<TbHrInterviewRegistration> queryWrapper);

    /**
     * hr面试记录登记表展示
     * @author liuqinghua
     * @date Sep 4, 2020 11:00:58 AM
     */
    IPage<ShowInterviewRegistrationQuery> showInterviewRegistration(@Param("page") Page<ShowInterviewRegistrationQuery> page,
                                                                    @Param("data") ShowInterviewRegistrationDto data);

    /**
     * hr面试记录登记表删除
     * @author liuqinghua
     * @date Sep 4, 2020 11:00:58 AM
     */
    int deleteInterviewRegistration(Long id);

    /**
     * 查询每月面试人数
     * @author 苏小林
     * @date 2020/9/14 15:00
     * @param: date
     * @return: java.util.List<com.xhsj.user.hr.system.vo.MonthCountVo>
     */
    List<MonthCountVo> getCountByDate(@Param("date") String date);
    /**
     * 查询当月面试人数-截至到今天
     * @author lqhua
     * @date 2020/9/14 15:00
     * @param: date
     * @return: java.util.List<com.xhsj.user.hr.system.vo.MonthCountVo>
     */
    MonthCountVo getCunrrentCountByDate();
}
